1. Field of the Invention
The present invention relates to computer-implemented methods and systems for remotely installing an operating system on a diskless and/or stateless computer system in a switched network defining a plurality of virtual local area networks.
2. Description of the Prior Art and Related Information
A virtual Local Area Network (VLAN) is a way of segmenting a local area network into several logical networks. These logical networks may reside on the same physical network, but offer a mechanism to allow groups of users to establish their own logical network to securely share data and resources. Several VLANs can co-exist on a single switch, which is a computing device that connects network segments. Switches provide all necessary filtering, identification and transporting of the frames transmitted within and between VLANs. One method for segmenting users into VLANs is through the use of tags, a way of identifying packets through the use of VLAN identifier (VID) bits. IEEE protocol 802.1q is the currently predominant protocol for enabling several VLANs to co-exist on a single switch. The 802.1q protocol calls for a 12 bit VID header (among other fields) to be added to the standard Ethernet header, which enables the identification of a theoretical maximum of 212 or 4096 VLANs. A non 802.1q Ethernet frame may be 1518 bytes in length, whereas an 802.1q Ethernet frame may include 1522 bytes, to account for the overhead of specifying the VLAN and other housekeeping issues as specified in the IEEE 802.1q standards. Therefore, the switch may identify the VLAN to which a particular frame is to be routed based upon the tag of that frame, which tag contains the VID. Prior to routing the packet to its intended target on the identified VLAN, the switch may strip the header of its VID and other fields that may have been added by the VLAN protocol. Other methods for routing packets to particular VLANs exist, such as packet filtering, for example.
Ports on a switch may be assigned to a single VLAN in a static manner. Static VLANs are very secure and do not require the network administrator to maintain table of Media Access Control (MAC) addresses and/or filtering tables. MAC addresses are hardware address that uniquely identify node of a network. Each port on a switch may also be dynamically assigned to multiple VLANs depending upon, for example, the MAC address of the target destination of the frame being transported. Such ports are called dynamic VLANs. Ports may be configured and operated in three modes. The first mode may be an access mode (also variously called untagged or promiscuous/isolated mode), in which a port is assigned a specific native VLAN and all Ethernet traffic from devices coupled to the port will only be visible to ports configured to the same native VLAN. The second mode is a tagged mode (also variously called trunking or “dot1q”), in which frames from devices coupled to the port must include the VID to identify to the switch to which VLAN the frame is to be routed. Ports configured in trunk mode according to the 802.1q protocol are typically called “dot1q” configured ports. The third mode is a combination of the first and second modes, where the first mode's boot-up VLAN must also be specified at “dot1q” level for clients spanning across more than one dot1q enabled switch and ports can only be set in promiscuous mode.
In order for a server to access multiple VLANS, the server must include a Network Interface Card (NIC), a network cable and a port on the switch for each VLAN to which access is desired. For a server to access three VLANs, for example, the following is required: three NICs, three cables and three network ports, on for each VLAN to which the server wishes to access. Servers are typically mounted in racks, and each rack may have, for example, 18 servers. For each server within the rack to access three VLANs, therefore, a total of 54 cables are necessary, exclusive of the power cables, switch cables to distribution switches, and remote management interface(s). If High-Availability (bonding) is to be provided for each VLAN, a total of 108 cables may be required for each rack. It is not unusual for high capacity data centers to have many racks of servers. From the foregoing, it becomes clear that the cost of purchasing, installing, managing and maintaining such cables is not inconsequential for large scale data center operations. Moreover, such a large number of cables increases the likelihood of cable failures and may increase the downtime of the constituent servers in the individual racks.
The 802.1q defines a protocol that, among other benefits, allows for a reduction in the number of cables needed by a server to access multiple VLANs, since a single cable may carry Ethernet traffic destined to any one of a plurality of VLANs. Other protocols exist for accessing and managing several VLANs, such as Cisco Systems' proprietary ISL protocol, for example. Implementation of the 802.1q protocol and like protocols simplifies the network architecture, decreases the costs associated with enabling servers to access multiple VLANs and increases the reliability of the network.
It is often desired to return individual servers to a reference state. To insure that the servers may be returned to such a reference state, diskless and stateless servers may be used to good advantage. Such diskless/stateless servers may store and operate their operating system on and from a Random Access Memory (RAM) disk. Also useful is the ability to load and boot such a diskless/stateless server using a selected one of several operating systems, and to do so remotely. Such a remotely booted diskless/stateless server may be loaded with a selected operating system and returned to a reference state (in effect, “wiped clean”), affording the network administrator with a great degree of flexibility in how such servers are deployed. To enable such remote loading and booting, a client/server interface called Preboot Execution Environment (PXE—pronounced “Pixie”) may be implemented, among other proprietary and/or open protocols. PXE allows network computers to load and boot their operating system remotely by a system administrator.
Network File System (NFS) is a protocol that allows a computer to access files over a network as easily as if they were on its local disks. NFS is strongly associated with UNIX systems, though it can be used on other platforms. RAMFS is a RAM Filesystem in which the operating system (such as versions of Unix or Linux, for example) is loaded over the network into the server's RAM. In this manner, the server may be diskless and stateless, as noted above. Problems arise, however, when attempting to use PXE in an 802.1q environment, as PXE (and similar remote booting protocols) does not provide for the 802.1q trunking technology, which allows multiple segmented networks (VLANs) to use a single cable (or two cables when High-Availability bonding technology is used). Accordingly, when it is desired for servers to have the ability to remotely load and boot their operating system from the network, it is currently not possible to benefit from the economies afforded by the 802.1q protocols or other similar trunking protocols. This means that when remote boot operations are required in a multiple VLAN system, it is necessary to revert back to the costly and complex one cable/one NIC/one VLAN conventional architecture. Diskless/stateless systems (that is, systems that require the ability to remotely load and boot their operating system), therefore, are conventionally unable to couple to a trunking port of a switch configured according to the 802.1q or similar protocol.
From the foregoing, it may be appreciated that methods and systems are needed that would allow such diskless/stateless servers to load and boot their operating systems remotely over network configured according to a trunking protocol, such as, for example, the IEEE 802.1q protocol.